We present narrowing calculi that are computation models of
functional-logic programming
languages. The narrowing calculi are based on the notion of the leftmost
outside-in reduction
of Huet and Lévy. We note the correspondence between the narrowing and
reduction derivations, and define the leftmost outside-in narrowing derivation.
We then give a narrowing
calculus OINC that generates the leftmost outside-in narrowing derivations.
It consists of
several inference rules that perform the leftmost outside-in narrowing. We prove
the completeness of OINC using an ordering defined over a narrowing derivation
space. To use the
calculus OINC as a model of computation of functional-logic programming,
we extend OINC
to incorporate strict equality. The extension results in a new narrowing
calculus, s-OINC. We
show also that s-OINC enjoys the same completeness property as OINC.